package com.sky.service;


import com.sky.dto.CompetitionApplicationDTO;
import com.sky.dto.common.PageRequest;
import com.sky.dto.common.QueryParams;
import com.sky.result.PageResult;

public interface CompetitionService {
    /**
     * 新增竞赛
     * @param competitionAddDTO 竞赛信息
     */
    void save(CompetitionApplicationDTO competitionAddDTO) ;

    /**
     * 删除竞赛
     * @param id 竞赛id
     */
    void deleteById(String id);

    /**
     * 修改竞赛
     * @param competitionUpdateDTO 竞赛信息
     */
    void update(CompetitionApplicationDTO competitionUpdateDTO);

    /**
     * 根据id查询竞赛
     * @param id 竞赛id
     * @return 竞赛信息
     */
    CompetitionApplicationDTO getById(String id);

    /**
     * 生成竞赛申请表Word文档
     * @param id 竞赛id
     * @return 临时文件路径
     */
    String generateApplicationDocument(String id);

    /**
     * 分页查询参数
     * @param queryParams
     * @return
     */
    PageResult pageQuery(PageRequest<QueryParams> queryParams);
}
